package net.sahv.bdyz.controller.admin;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.fastjson.JSON;

import net.sahv.bdyz.model.Information;
import net.sahv.bdyz.model.ShufflingFigure;
import net.sahv.bdyz.service.InformationService;
import net.sahv.bdyz.service.ShufflingFigureService;
import net.sahv.bdyz.util.PagingUtil;

/**
 * 咨询列表
 * @author Administrator
 *张羽鹏
 *2016年8月5日10:43:50
 */
@Controller
@RequestMapping("admin/consult")
public class ConsultController {

	@Autowired
	private InformationService informationService;
	@Autowired
	private ShufflingFigureService shufflingFigureService;
	//首页图片列表
	
	
	/**
	 * @author 张羽鹏
	 * 资讯列表跳转路径
	 * @return
	 */
	@RequestMapping(value="/consultList",method=RequestMethod.GET)
	public String consultList(){
		return "admin/consult/consultList";
	}
	
	/**
	 * 资讯列表
	 * @author 张羽鹏
	 * @date 日期：2016年8月16日 时间：下午2:42:28
	 * @param request
	 * @param model
	 * @param pagingUtil
	 * @return
	 */
	@ResponseBody
	@RequestMapping(value="/consultList",method=RequestMethod.POST)
	public JSON consultList(HttpServletRequest request,Model model,PagingUtil pagingUtil){
		String iName=request.getParameter("I_NAME");
		String sortField=" order by I_CREATE_TIME desc";
		String where =" where 1=1 ";
		if(iName != null && ! iName.equals("")){
			where +=" AND I_NAME like '%"+iName+"%'";
		}
		
		Map<String,Object>  param = new HashMap<String,Object>();
		param.put("start", pagingUtil.getiDisplayStart());
		param.put("length", pagingUtil.getiDisplayLength());
		param.put("where", where);
		param.put("sortField", sortField);
		
		List<Map<String, Object>>  information=informationService.InformationList(param);
		
		Integer count=informationService.InformationListCount(where);
		
		Map<String,Object>  map = new HashMap<String,Object>();
		map.put("aaData", information);
		map.put("iTotalRecords", count);
		map.put("iTotalDisplayRecords", count);
		map.put("sEcho", pagingUtil.getsEcho());
		return (JSON) JSON.toJSON(map);
	}
	
	/**
	 * 咨询添加跳转路径
	 * @param request
	 * @param model
	 * @return
	 * 张羽鹏
	 * 2016年8月5日15:20:57
	 */
	@RequestMapping(value="/consultAdd",method=RequestMethod.GET)
	public String consultAdd(HttpServletRequest request){
		return "admin/consult/consultAdd";
	}
	
	/**
	 * 咨询添加
	 * @param information
	 * @param editorValue
	 * @return
	 * 张羽鹏
	 * 2016年8月5日16:21:37
	 */
	@ResponseBody
	@RequestMapping(value="/consultAdd",method=RequestMethod.POST)
	public ApiResult consultAdd(Information information,String editorValue,Integer club){
		ApiResult result=new ApiResult();
		//club:0、代表中文；1、代表英文；
		if(club ==0){
			information.setiContent(editorValue);
			information.setiCreateTime(new Date());
			information.setiIsDelete(0);
			information.setiLanguage(club);
			int i=informationService.insert(information);
			if(i ==1){
				 result.msg.status=0;
				 result.msg.desc="添加成功";
			}else{
				result.msg.status=1;
				result.msg.desc="添加失败！";
			}
		}
		if(club ==1){
			information.setiMessage1(editorValue);
			information.setiNameEn(information.getiName());
			information.setiInfoEn(information.getiInfo());
			information.setiName("");
			information.setiCreateTime(new Date());
			information.setiIsDelete(0);
			information.setiLanguage(club);
			int i=informationService.insert(information);
			if(i ==1){
				 result.msg.status=0;
				 result.msg.desc="添加成功";
			}else{
				result.msg.status=1;
				result.msg.desc="添加失败！";
			}
		}
		return result;
	}
	
	/**
	 * 删除咨询
	 * @param id
	 * @return
	 * 张羽鹏
	 * 2016年8月5日17:00:35
	 */
	@ResponseBody
	@RequestMapping(value="deleteConsult",method=RequestMethod.POST)
	public ApiResult deleteConsult(Integer[] id){
		ApiResult result=new ApiResult();
		int j=0;
		for(Integer i:id){
			j=informationService.deleteByPrimaryKey(i);
			if(j==0){
				result.msg.status=1;
				result.msg.desc="删除失败！";
			}
		}
		if(j==1){
			result.msg.status=0;
			result.msg.desc="删除成功！";
		}
		  return result; 
	}
	
	/**
	 * 跳转到修改页面
	 * @author 张羽鹏
	 * @date 日期：2016年8月16日 时间：下午3:53:15
	 * @param model
	 * @param id
	 * @return
	 */
	@RequestMapping(value="consultUpdate",method=RequestMethod.GET)
	public String  consultUpdate(Model model,Integer id){
		Information information=informationService.selectByPrimaryKey(id);
		if(information.getiLanguage()==1){    //如果显示的是英文,则将英文字段覆盖中文字段
			information.setiName(information.getiNameEn());
			information.setiInfo(information.getiInfoEn());
			information.setiContent(information.getiMessage1());
		}
		model.addAttribute("information", information);
		return "admin/consult/consultUpdate";
	}

	/**
	 * 修改咨询列表
	 * @param information
	 * @param editorValue
	 * @param club
	 * @return
	 */
	@ResponseBody
	@RequestMapping(value="/consultUpdate",method=RequestMethod.POST)
	public ApiResult consulstUpdate(Information information,String editorValue,Integer club){
		ApiResult result=new ApiResult();
		if(club ==0){
			Information informations=informationService.selectByPrimaryKey(information.getiId());
			informations.setiContent(editorValue);
			informations.setiName(information.getiName());
			informations.setiImg(information.getiImg());
			informations.setiCreateTime(new Date());
			informations.setiLanguage(club);
			informations.setiInfo(information.getiInfo());
			int i=informationService.updateByPrimaryKey(informations);
			if(i ==1){
				 result.msg.status=0;
				 result.msg.desc="修改成功";
			}else{
				result.msg.status=1;
				result.msg.desc="修改失败！";
			}
		}
		if(club ==1){
			Information informations=informationService.selectByPrimaryKey(information.getiId());
			informations.setiMessage1(editorValue);
			informations.setiNameEn(information.getiName());
			informations.setiInfoEn(information.getiInfo());
			informations.setiImg(information.getiImg());
			informations.setiCreateTime(new Date());
			informations.setiLanguage(club);
			int i=informationService.updateByPrimaryKey(informations);
			if(i ==1){
				 result.msg.status=0;
				 result.msg.desc="修改成功";
			}else{
				result.msg.status=1;
				result.msg.desc="修改失败！";
			}
		}
		return result;
	}
	
	/**
	 * 切换语言
	 * @author 张天敏
	 * @date 日期：2016年8月16日 时间：下午5:50:49
	 * @return
	 */
	@ResponseBody
	@RequestMapping(value="changeLanguage",method=RequestMethod.POST)
	public ApiResult changeLanguage(Integer id){
		ApiResult result=new ApiResult();
		Information information=informationService.selectByPrimaryKey(id);
		if(information!=null){
			result.data.put("information", information);
			result.msg.status=0;
			result.msg.desc="查询成功！";
		}else{
			result.msg.status=1;
			result.msg.desc="查询失败！";
		}
		return result;
	}
	
	/**
	 * @author 王聪朝 2016年9月26日15:44:57
	 * 轮播图列表路径跳转
	 * @return
	 */
	@RequestMapping(value="/imgList",method=RequestMethod.GET)
	public String imgList(){
		return "admin/consult/imgList";
	}
	/**
	 * 轮播图列表
	 * @author 王聪朝
	 * @date 日期：2016年9月26日15:44:53
	 * @param request
	 * @param model
	 * @param pagingUtil
	 * @return
	 */
	@ResponseBody
	@RequestMapping(value="/imgList",method=RequestMethod.POST)
	public JSON imgList(HttpServletRequest request,Model model,PagingUtil pagingUtil){						
		List<Map<String,Object>> shufflingFigureList=shufflingFigureService.selectShufflingFigureList2();					
		Map<String,Object>  map = new HashMap<String,Object>();
		map.put("aaData", shufflingFigureList);
		map.put("iTotalRecords", shufflingFigureList.size());
		map.put("iTotalDisplayRecords", shufflingFigureList.size());
		map.put("sEcho", pagingUtil.getsEcho());
		return (JSON) JSON.toJSON(map);
	}
	
	/**
	 * 删除轮播图
	 * @param id
	 * @return
	 * 王聪朝
	 * 2016年9月26日15:45:59
	 */
	@ResponseBody
	@RequestMapping(value="deleteImg",method=RequestMethod.POST)
	public ApiResult deleteImg(Integer[] id){
		ApiResult result=new ApiResult();
		int j=0;
		for(Integer i:id){
			j=shufflingFigureService.deleteByPrimaryKey(i);
			if(j==0){
				result.msg.status=1;
				result.msg.desc="删除失败！";
			}
		}
		if(j==1){
			result.msg.status=0;
			result.msg.desc="删除成功！";
		}
		  return result; 
	}
	/**
	 *获得下拉数据
	 *王聪朝 2016年9月26日17:02:52
	 * @return
	 */
	@ResponseBody
	@RequestMapping(value="/getInfoList",method=RequestMethod.GET)
	public List<Information> getInfoList()
	{
		List<Information> informations=informationService.selectAll();	
		return informations;
	}
	/**
	 * 轮播图添加跳转路径
	 * @param request
	 * @param model
	 * @return
	 * 张羽鹏
	 * 2016年8月5日15:20:57
	 */
	@RequestMapping(value="/imgAdd",method=RequestMethod.GET)
	public String imgAdd(HttpServletRequest request){
			
		return "admin/consult/imgAdd";
	}
	
	
	/**
	 * 轮播图添加
	 * @param information
	 * @param editorValue
	 * @return
	 * 张羽鹏
	 * 2016年8月5日16:21:37
	 */
	@ResponseBody
	@RequestMapping(value="/imgAdd",method=RequestMethod.POST)
	public ApiResult imgAdd(String iImg,String link,String iName){
		 ApiResult result=new ApiResult();		
		 ShufflingFigure shufflingFigure =new ShufflingFigure();
		 shufflingFigure.setSfCreateTime(new Date());
		 shufflingFigure.setSfIsDelete(0);
		 shufflingFigure.setSfMessage1(link);
		 shufflingFigure.setSfName(iName);
		 shufflingFigure.setSfUrl(iImg);
		 List<ShufflingFigure> shufflingFigureList=shufflingFigureService.selectShufflingFigureList();	
		 if(shufflingFigureList.size()<5)
		 {
			 int i=shufflingFigureService.insert(shufflingFigure);
				if(i ==1){
					 result.msg.status=0;
					 result.msg.desc="添加成功";
				}else{
					result.msg.status=1;
					result.msg.desc="添加失败！";
				}		
		 }
		 else
		 {
			 result.msg.status=1;
			 result.msg.desc="最多添加5条！";
		 }
			
		return result;
	}
	
	/**
	 * 跳转到修改页面
	 * @author 张羽鹏
	 * @date 日期：2016年8月16日 时间：下午3:53:15
	 * @param model
	 * @param id
	 * @return
	 */
	@RequestMapping(value="imgUpdate",method=RequestMethod.GET)
	public String  imgUpdate(Model model,Integer id){
		ShufflingFigure shufflingFigure=shufflingFigureService.selectByPrimaryKey(id);					
		model.addAttribute("shufflingFigure", shufflingFigure);
		return "admin/consult/imgUpdate";
	}

	/**
	 * 修改轮播图设置
	 * 王聪朝  修改轮播图设置 2016年10月18日14:50:51
	 * @param information
	 * @param editorValue
	 * @param club
	 * @return
	 */
	@ResponseBody
	@RequestMapping(value="/imgUpdate",method=RequestMethod.POST)
	public ApiResult imgUpdate(String iImg,String link,String iName,int id){
		    ApiResult result=new ApiResult();		
			ShufflingFigure shufflingFigure=shufflingFigureService.selectByPrimaryKey(id);
			shufflingFigure.setSfMessage1(link);
			shufflingFigure.setSfName(iName);
			shufflingFigure.setSfUrl(iImg);
			int i=shufflingFigureService.updateByPrimaryKey(shufflingFigure);
			if(i ==1){
				result.msg.status=0;
				result.msg.desc="修改成功";
			}else{
				result.msg.status=1;
				result.msg.desc="修改失败！";
			}		
		return result;
	}
	
	
}
